home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / bin / software-properties-kde < prev    next >
Text File  |  2008-10-15  |  4KB  |  117 lines

  1. #!/usr/bin/python
  2. #  software-properties - graphical abstraction of the sources.list
  3. #  
  4. #  Copyright (c) 2007 Canonical Ltd.
  5. #
  6. #  Author: Jonathan Riddell <jriddell@ubuntu.com>
  7. #  This program is free software; you can redistribute it and/or 
  8. #  modify it under the terms of the GNU General Public License as 
  9. #  published by the Free Software Foundation; either version 2 of the
  10. #  License, or (at your option) any later version.
  11. #  This program is distributed in the hope that it will be useful,
  12. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. #  GNU General Public License for more details.
  15. #  You should have received a copy of the GNU General Public License
  16. #  along with this program; if not, write to the Free Software
  17. #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  18. #  USA
  19.  
  20. import gettext
  21. import os
  22. import sys
  23.  
  24. from optparse import OptionParser
  25.  
  26. import aptsources
  27. from aptsources.sourceslist import SourcesList
  28.  
  29. #sys.path.append("@prefix@/share/update-manager/python")
  30.  
  31. from softwareproperties.kde.SoftwarePropertiesKDE import SoftwarePropertiesKDE
  32.  
  33. from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineArgs , KCmdLineOptions
  34. from PyKDE4.kdeui import KApplication, KMessageBox
  35.  
  36. class OptionParsed:
  37.   debug = False
  38.   massive_debug = False
  39.   no_update = False
  40.   enable_component = ""
  41.  
  42. #--------------- main ------------------
  43. if __name__ == '__main__':
  44.   _ = gettext.gettext
  45.  
  46.   appName     = "softwarepropertieskde"
  47.   catalog     = ""
  48.   programName = ki18n ("Software Sources")
  49.   version     = "0.64"
  50.   description = ki18n ("Software Sources List editor")
  51.   license     = KAboutData.License_GPL
  52.   copyright   = ki18n ("(c) 2007 Canonical Ltd.")
  53.   text        = ki18n ("none")
  54.   homePage    = "https://launchpad.net/software-properties"
  55.   # bugEmail    =
  56.  
  57.   aboutData   = KAboutData (appName, catalog, programName, version, description,
  58.                                 license, copyright, text, homePage)
  59.  
  60.   KCmdLineArgs.init (sys.argv, aboutData)
  61.  
  62.   opts = KCmdLineOptions()
  63.  
  64.   opts.add ("debug", ki18n("Print some debug information to the command line"))
  65.   opts.add ("massive-debug", ki18n("Print a lot of debug information to the command line"))
  66.   opts.add ("dont-update", ki18n("No update on repository change (useful if called from an external program)"))
  67.   opts.add ("enable-component", ki18n("Enable the specified component of the distro's repositories"), "component_arg")
  68.   opts.add ("attach <WinID>", ki18n("Win ID to act as a dialogue for"), "component_arg")
  69.   
  70.   KCmdLineArgs.addCmdLineOptions(opts)
  71.   
  72.   #print "no update" + str(options.no_update)
  73.   # Check for root permissions
  74.   if os.geteuid() != 0:
  75.     kapp = KApplication()
  76.     text = "Please run this software with administrative rights. To do so, run this program with kdesudo."
  77.     title = "Need administrative powers"
  78.     msgbox = KMessageBox.sorry(None, text, title, KMessageBox.Notify)
  79.     sys.exit(1)
  80.  
  81.   localesApp="software-properties"
  82.   localesDir="/usr/share/locale"
  83.   gettext.bindtextdomain(localesApp, localesDir)
  84.   gettext.textdomain(localesApp)
  85.  
  86.   data_dir="/usr/share/software-properties/"
  87.   args = KCmdLineArgs.parsedArgs()
  88.   afile = ""
  89.   options = OptionParsed #FIXME set debug, massive_debug
  90.   if args.count() >= 1:
  91.     afile = args.arg(0)
  92.     afile = unicode(afile, 'utf-8')
  93.  
  94.   attachWinID = None
  95.   if args.isSet("debug") == True:
  96.     options.debug = True
  97.   if args.isSet("massive-debug") == True:
  98.     options.massive_debug = True
  99.   if args.isSet("dont-update") == True:
  100.     options.no_update = True
  101.   if args.isSet("attach") == True:
  102.     attachWinID = args.getOption("attach")
  103.   if args.isSet("enable-component") == True:
  104.     sourceslist = SourcesList()
  105.     options.enable_component = str(args.getOption("enable-component"))
  106.     distro = aptsources.distro.get_distro()
  107.     distro.get_sources(sourceslist)
  108.     distro.enable_component(options.enable_component)
  109.     sourceslist.save()
  110.   else:
  111.     app = SoftwarePropertiesKDE(datadir=data_dir, options=options, file=file, attachWinID=attachWinID)
  112.     app.run()
  113.     sys.exit(app.modified_sourceslist)
  114.